Storage system and storage control device

ABSTRACT

The present invention makes it possible, by virtualizing an external memory resource as an internal memory resource, to effectively utilize memory resources, and to synchronize the storage contents of a virtualized inner volume and a real inner volume. The first storage device comprises an internal volume and a virtual internal volume. The entity of the virtual internal volume is the external volume of a second storage device. The external volume can be dealt with as a volume inside the first storage device by mapping the external volume in the storage hierarchy of the first storage device. Furthermore, a copying pair can be formed by internal volume and virtual internal volume, and the contents of both volumes can be synchronized.

CROSS-REFERENCE TO RELATED APPLICATION

This application relates to an claims priority from Japanese PatentApplication No. 2004-312358 filed on Oct. 27, 2004, the entiredisclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a storage system and a storage controldevice.

2. Description of the Related Art

For example, data is controlled using relatively large-scale storagesystems in order to handle large quantities of various types of data ingovernment organizations, public offices, autonomous regional bodies,business enterprises, educational organizations and the like. Forinstance, such storage systems are constructed from disk array devicesor the like. Disk array devices are constructed by disposing numerousstorage devices in the form of an array; for example, a storage regionbased on an RAID (redundant array of independent disks) is provided. Oneor more logical volumes (logical units) are formed in a physical storageregion provided by a storage device group, and these logical volumes areprovided to a host computer (more specifically, to a data base programoperating in a host computer). The host computer (hereafter abbreviatedto “host”) can perform the reading and writing of data with respect tothe logical volumes by transmitting specified commands.

With the development of an informationized society and the like, therehas been a continual increase in the amount of data that must bemanaged. Consequently, there is a demand for storage control devicesthat offer higher performance and a larger capacity, and new types ofstorage control devices have been developed one after another in orderto meet this market demand. There are two conceivable methods forintroducing new types of storage control devices as storage systems. Oneis a method in which an old type of storage control device and a newtype of storage control device are completely interchanged, so that astorage system is constructed from a completely new type of storagecontrol device (Japanese Patent Publication No. 10-508967). The othermethod is a method in which a new type of storage control device isadded to a storage system consisting of an old type of storage device,so that new and old types of storage devices are caused to coexist.

Furthermore, a technique in which the storage region of a physicaldevice is controlled in sector units, and a logical device isdynamically constructed in sector units, is also known (Japanese PatentApplication Laid-Open No. 2001-337850).

Moreover, a technique is also known which is devised so that when alogical device is constructed from a plurality of storage devices withdifferent capacities, an area is formed in accordance with the storagedevice that has the smallest capacity, and an area is formed inaccordance with the smallest capacity in the case of the remainingcapacity as well (Japanese Patent Application Laid-Open No. 9-288547).

In cases where a complete transition is made from an old type of storagecontrol device to a new type of storage control device, the function andperformance of the new type of storage control device can be utilized;however, the old type of storage control device cannot be effectivelyutilized, and the introduction costs are also increased. On the otherhand, in cases where an old type of storage control device and a newtype of storage control device are used together, the number of storagecontrol devices that construct the storage system is increased, andconsiderable effort is required in order to control and operate both thenew and old storage control devices.

Furthermore, in cases where the response of the storage device in whichthe old type of storage control device is installed is slow, theperformance of the overall system drops as a result of this old type ofstorage control device being connected to the storage system. Forexample, such cases include cases in which the old type of storagedevice is a device that involves mechanical operations (such as headseeking or the like), so that the mechanical operating time is long,cases in which the capacity of the data transfer buffer of the old typeof storage device is small, and the like.

Furthermore, there may also be cases in which an old type of storagedevice cannot be utilized “as is”, as in combinations of open typestorage devices and main frames, or servers to which only storagedevices with specified functions can be connected.

SUMMARY OF THE INVENTION

The present invention was devised in light of the above problems. Oneobject of the present invention is to provide a storage system andstorage control device which are devised so that different types ofstorage control devices such as new and old storage control devices canbe caused to cooperate, thus allowing effective utilization of memoryresources. Another object of the present invention is provide a storagesystem and storage control device which allow the utilization of an oldtype of storage control device as a new type of storage control device.Another object of the present invention is to provide a storage systemand storage control device which are devised so that new functions canbe added while utilizing the advantages of an old type of storagedevice. Another object of the present invention is to provide a storagesystem and storage control device which are devised so that the memoryresources of a second storage control device can be incorporated into afirst storage control device as a first virtual volume, and the storagecontents of the first real volume of the first storage control deviceand this first virtual volume can be synchronized. Other objects of thepresent invention will become clear from the following description ofembodiments.

In order to solve the abovementioned problems, the storage system of thepresent invention is a storage system which is constructed bycommunicably connecting a first storage control device and a secondstorage control device, and which performs data processing in accordancewith requests from a higher device, wherein the abovementioned firststorage control device comprises a first real volume, a first virtualvolume that can form a copying pair with the first real volume, a firstcontrol part that respectively controls data communications between thefirst real volume and first virtual volume, and the higher device andsecond storage control device, and a synchronizing part thatsynchronizes the storage contents of the first real volume and thestorage contents of the first virtual volume, and the second storagecontrol device comprises a second real volume that is associated withthe first virtual volume, and a second control part that respectivelycontrols data communications between the second real volume, and thehigher device and first storage control device.

For example, storage devices such as disk array devices or the like, orhighly functionalized switches (fiber channel switches or the like) canbe used as the storage control devices. The first storage control devicerespectively comprises a first real volume and a first virtual volume.The first real volume is constructed on the basis of first storagedevice which has a first storage control device, and the first virtualvolume is constructed on the basis of a second storage device which hasa second storage control device.

Specifically, the first storage control part incorporates the memoryresources of the second storage control device as though these memoryresources were its own memory resources, and provides these memoryresources to the higher device. Furthermore, the synchronizing partsynchronizes the storage contents of the first real volume and firstvirtual volume. Accordingly, a backup of the first real volume can beformed in the first virtual volume, and conversely, a backup of thefirst virtual volume can be formed in the first real volume. Here, thesynchronization modes can be divided into two main types: namely, a fullcopying mode in which all of the storage contents are copied, and adifferential copying mode in which only the differential data is copied.

In an embodiment of the present invention, the first storage controldevice has a first storage device, and the second storage control devicehas a second storage device; furthermore, the first real volume isconnected to the first storage device via an intermediate storagedevice, and the first virtual volume is connected to the second storagedevice via a virtually constructed virtual intermediate storage device.Here, the intermediate storage device is a storage hierarchy whichlogically connects the first storage device that provides a physicalstorage region, and the first virtual volume. Similarly, the virtualintermediate storage device is a storage hierarchy which logicallyconnects the second storage device that provides a physical storageregion, and the first virtual volume. Furthermore, while theintermediate storage device is set in the storage region of the of thefirst storage device of the first storage control device, the virtualintermediate storage device is associated with the storage region of thesecond storage device of the second storage control device.Specifically, by mapping the second storage device in the virtualintermediate storage device, it is possible to vary the storagecapacity, or to employ a stripe structure or the like.

The synchronizing part can copy the entire storage contents stored inthe first real volume into the first virtual volume. Conversely, thesynchronizing part can also copy the entire storage contents stored inthe first virtual volume into the first real volume.

Alternatively, the synchronizing part can also copy the differentialdata between the storage contents of the first real volume and thestorage contents of the first virtual volume into the first virtualvolume. For example, after the first real volume and first virtualvolume are synchronized by full copying, the copying pair consisting ofthe two volumes is temporarily released (split). Then, in cases where achange occurs in the storage contents of the first virtual volume as aresult of a write request from the higher device, the storage contentsof the two volumes can again be caused to coincide by separatelycontrolling the this changed differential data, and copying only thisdifferential data into the first real volume.

Here, in cases where write requests to the first real volume from thehigher device are stopped, the synchronizing part can copy thedifferential data into the first virtual volume. As a result, thestorage contents of both volumes can be matched.

In an embodiment of the present invention, the system further comprisesa managing device which is communicably connected to the first storagecontrol device and second storage control device, respectively.Furthermore, in cases where the access attribute of “write prohibited”is set in the first real volume by the managing device, thesynchronizing part copies the differential data into the first virtualvolume, and when the copying of the differential data is completed, themanaging device can set the access attribute of the first real volume as“read and write possible”.

The function of the managing device can be constructed from a computerprogram. Accordingly, for example, the managing device can beconstructed as a computer device that is separate from the higherdevice, or can be installed inside the higher device. The term “accessattribute” refers to information that is used to control whether or nota given volume can be accessed. Examples of access attributes include“write prohibited (read only)” which prohibits the updating of data,“read/write possible” which allows both the reading and writing of data,“hidden” which does not respond to inquiry responses, “empty capacity 0”which responds that the state is full in the case of inquiries for emptycapacity, and the like.

By starting differential copying after setting the access attribute ofthe volume as “write prohibited”, it is possible to prohibit updatingrequests (write requests) from the higher device, and to match thestorage contents of the copying source volume (the first real volume inthis case) and the copying destination volume (the first virtual volumein this case). Furthermore, since it is sufficient to alter only theaccess attribute inside the storage control device without any need toalter the setting of the higher device, data matching can be ensured bymeans of comparatively simple construction.

The synchronizing part can also copy differential data between thestorage contents of the first real volume and the storage contents ofthe first virtual volume into the first real volume. Furthermore, inthis case, the synchronizing part can acquire differential controlinformation relating to the differential data from the second storagecontrol device, and can read out differential data from the secondstorage control device and copy this data into the first real volume onthe basis of this differential control information.

Furthermore, in cases where write requests to the second real volumefrom the higher device are prohibited, the synchronizing part canmaintain the matching of data by copying the differential data into thefirst real volume.

Moreover, in cases where a managing device that is communicablyconnected to the first storage control device and second storage controldevice, respectively is provided, and the access attribute of “writeprohibited” is set in the second real volume by the managing device, thesynchronizing part can copy the differential data into the first realvolume, and when the copying of this differential data has beencompleted, the managing device can also set the access attribute of thesecond real volume as “read and write possible”.

In an embodiment of the present invention, the storage system is astorage system in which a first storage control device and a secondstorage control device are communicably connected, this storage systemcomprising a higher device that can respectively issue access requeststo the first storage control device and second storage control device,and a managing device that can communicate with the first storagecontrol device and second storage control device, wherein the firststorage control device comprises a first storage device that storesdata, an intermediate storage device that is disposed in the storageregion of this first storage device, a first real volume that isdisposed in the storage region of this intermediate storage device, avirtual intermediate storage device that is disposed in the storageregion of the second storage device of the second storage controldevice, a first virtual volume that is disposed in the storage region ofthis virtual intermediate storage device, a higher communicationscontrol part that respectively controls data communications between thehigher device, and the second storage control device and managingdevice, a lower communications control part that controls datacommunications with the first storage device, a memory part that isshared by the higher communications control part and lowercommunications control part, and a mapping table that is stored in thememory part and that is used to map the second storage device in thevirtual intermediate storage device. Furthermore, in cases where thefirst full copying mode that copies all of the storage contents storedin the first virtual volume into the first real volume is designated bythe managing device, the higher communications control part refers tothe mapping table and reads out all of the data from the second realvolume, and the lower communications control part stores all of thisread-out data in the first storage device. On the other hand, in caseswhere the second full copying mode that copies all of the storagecontents stored in the first real volume into the first virtual volumeis designated by the managing device, the lower communications controlpart reads out all of the data of the first real volume from the firststorage device, and the higher communications control part refers to themapping table and writes this read-out data into the second real volume.

Furthermore, the first storage control device and second storage controldevice can respectively hold differential control information thatcontrols the differential data between the storage contents of the firstreal volume and the storage contents of the first virtual volume.Moreover, in cases where the first differential copying mode that copiesthe differential data into the first virtual volume is designated by themanaging device, the lower communications control part reads out thedifferential data from the first storage device, and the highercommunications control part refers to the mapping table and writes thisread-out differential data into the second real volume. On the otherhand, in cases where the second differential copying mode that copiesthe differential data into the first real volume is designated by themanaging device, the higher communications control part reads out thedifferential control information controlled by the second storagecontrol device, refers to this read-out differential control informationand the mapping table, and reads out the differential data from thesecond real volume, and the lower communications control part storesthis read-out differential data in the first storage device.

The present invention may also be understood as the invention of astorage control device. Moreover, the present invention may also beunderstood as a copying control method for a storage control device.Specifically, for example, this copying control method can beconstructed so as to comprise the steps of mapping the second realvolume of a second storage control device into the first virtual volumeof a first storage control device, setting the abovementioned firstvirtual volume and the first real volume of the abovementioned firststorage control device as a copying pair, and causing the storagecontents of the abovementioned first virtual volume and theabovementioned first real volume to coincide.

There may be cases in which all or part of the means, functions andsteps of present invention can be constructed as computer programs thatare executed by a computer system. In case where all or part of theconstruction of the present invention is constructed from computerprograms, these computer programs can be fixed (for example) on varioustypes of storage media and distributed (or the like); alternatively,these computer programs can also be transmitted via communicationsnetworks.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram which shows the overall construction of astorage system constituting an embodiment of the present invention;

FIG. 2 is a block diagram of the storage system;

FIG. 3 is an explanatory diagram which shows an outline of thefunctional construction of the storage system;

FIG. 4 is an explanatory diagram which shows the storage structure inmodel form;

FIG. 5 is an explanatory diagram which shows an example of theconstruction of the mapping table;

FIG. 6 is an explanatory diagram which shows the conditions of addressconversion in a case where data is written into an external volumeincorporated as a virtual internal volume;

FIG. 7 is an explanatory diagram respectively showing the differentialbit map T4 and saving destination address control map T5 used to controlthe differential data;

FIG. 8 is an explanatory diagram showing an example of the constructionof the copying pair control table;

FIG. 9 is an explanatory diagram showing an example of the constructionof the access attribute control table;

FIG. 10 is an explanatory diagram showing the flow of the processingthat is used to construct the mapping table;

FIG. 11 is schematic diagram showing a case in which data is writteninto an external storage device used as a virtual internal volume;

FIG. 12 is a schematic diagram showing a case in which data is read outfrom an external storage device used as a virtual internal volume;

FIG. 13 is a sequence flow chart showing the flow of the first fullcopying mode;

FIG. 14 is a sequence flow chart showing the flow of the second fullcopying mode;

FIG. 15 is a sequence flow chart showing the flow of the firstdifferential copying mode;

FIG. 16 is a sequence flow chart showing the flow of the seconddifferential copying mode;

FIG. 17 is an explanatory diagram showing the storage structure of astorage system according to a second embodiment; and

FIG. 18 is an explanatory diagram showing the storage structure of astorage system according to a third embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a structural explanatory diagram which shows an overalloutline of an embodiment of the present invention. In this embodiment,as will be described later, [the storage system] maps a storage devicepresent on the outside into its own intermediate storage device (VDEV),thus incorporating this external storage device as thought this devicewere its own internal volume, and provides this volume to a host.

For example, the storage system of the present embodiment can comprise afirst storage device 1 which is one example of a first storage controldevice, a second storage device 2 which is one example of a secondstorage control device, a host 3 which acts as a higher device, and amanaging device 4.

For example, the first storage device 1 is constructed as a disk arraydevice. The first storage device 1 comprises three communications ports1A through 1C; the host 3, managing device 4 and second storage device 2are communicably connected by means of these respective communicationsports. Here, for example, data communications can be performed betweenthe respective storage devices 1 and 2, and the respective storagedevices 1 and 2 and the host 3, on the basis of a fiber channelprotocol. Furthermore, for example, data communications can be performedbetween the respective storage devices 1 and 2 and the managing device 4on the basis of a TCP/IP (transmission control protocol/internetprotocol). However, the above are examples; the present invention is notrestricted in terms of the type of protocol used.

The first storage device 1 can comprise a control part 5, an internalvolume 6 used as a first real volume, and a virtual internal volume 7used as a first virtual volume. The control part 5 respectively controlsthe exchange of data inside the first storage device and the exchange ofdata with the outside. The internal volume 6 is disposed on the basis ofa physical storage device (e.g., a disk drive) disposed inside the firststorage device 1. The virtual internal volume 7 has a virtual existence;the entity that stores data is present inside the second storage device2. Specifically, the virtual internal volume 7 is constructed by mappingan external volume 9 of the second storage device 2 into a specifiedlevel of the storage hierarchy of the first storage device 1.

The control part 5 comprises a differential bit map 5A and a mappingtable 5B. The differential bit map 5A comprises information that is usedto control the differential between the storage contents of the internalvolume 6 and the storage contents of the virtual internal volume 7(external volume 9). When the host 3 updates the storage contents of theinternal volume 6 after the internal volume 6 and virtual internalvolume 7 have been synchronized, differential data 6A is generated bythis updating. The differential bit map 5A comprises information that isused to control this differential data 6A. The mapping table 5Bcomprises information that is used to associate the external volume 9with the virtual internal volume 7; for example, this informationincludes path information or the like that is used to access theexternal volume 9.

The second storage device 2 is communicably connected with the host 3,managing device 4 and first storage device 1, respectively viarespective communications ports 2A through 2C. For example, the secondstorage device 2 can be constructed so that this device comprises acontrol part 8 and an external volume 9. The control part 8 respectivelycontrols the exchange of data within the second storage device 2 and theexchange of data with the outside. The external volume 9 is disposed onthe basis of a physical storage device disposed inside the secondstorage device 2. Since the volumes of the second storage device 2 arepresent on the outside as seen from the first storage device 1, thesevolumes are called external volumes here. Furthermore, the control part8 comprises a differential bit map 8A that is used to control thedifferential data 9A that is generated in the external volume 9.

In the present embodiment, the internal volume 6 and virtual internalvolume 7 form a copying pair. Either of these volumes may be the copyingsource, and either of the volumes may be the copying destination. Inregard to the method used to synchronize the storage contents, there isfull copying in which all of the storage contents of the copying sourcevolume are copied into the copying destination volume, and differentialcopying in which the only the differential data between the copyingsource volume and copying destination volume is copied; either of thesemethods may be employed.

In cases where data is copied from the internal volume 6 into thevirtual internal volume 7, the control part 5 refers to the mappingtable 5B, acquires path information relating to the path to the externalvolume 9 which is the entity of the of the virtual internal volume 7,and transfers data to the external volume 9. Similarly, furthermore, incases where data is copied from the virtual internal volume 7 into theinternal volume 6, the control part 5 refers to the mapping table 5B,acquires path information relating to the path to the external volume 9,and writes data read out from the external volume 9 into the internalvolume 6.

In the present embodiment, even in cases where the first storage device1 incorporates the external volume 9 of the second storage device 2 asits own virtual internal volume 7, the data of the internal volume 6 andthe data of the virtual internal volume 7 can be synchronized. Thepresent embodiment will be described in greater detail below.

1. First Embodiment

FIG. 2 is a block diagram which shows the construction of the essentialparts of the storage system of the present embodiment. For example, thehosts 10A and 10B are computer devices comprising information processingresources such as a CPU (central processing unit), memory and the like;for instance, these hosts are constructed as personal computers,workstations, main frames or the like.

The host 10A comprises an HBA (host bus adapter) 11A that is used toaccess a first storage device 100 via a communications network CN1, and(for example) an application program 12A such as data base software orthe like. Similarly, the host 10B also comprises an HBA 11B that is usedto access a second storage device 200, and an application program 12B.Below, in cases where no particular distinction is made between therespective hosts 10A and 10B, these parts will be referred to simply ashosts 10, HBA 11 and application programs 12.

For example, depending on the case, an LAN (local area network), an SAN(storage area network), the internet, a dedicated circuit, a publiccircuit or the like can be appropriately used as the communicationsnetwork CN1. For example, data communications via an LAN are performedaccording to a TCP/IP protocol. In cases where the hosts 10 areconnected to the first storage device 100 [and second storage device]200 via an LAN, the hosts 10 request data input and output in file unitsby designating file names.

On the other hand, in cases where the hosts 10 are connected to thefirst storage device 100 [and second storage device] 200 via an SAN, thehosts 10 request data input and output with blocks (which are the unitsof data control of the storage regions provided by a plurality of diskstorage devices (disk drives)) in accordance with a fiber channelprotocol. In cases where the communications network CN1 is an LAN, theHBA 11 is (for example) a network card corresponding to this LAN. Incases where the communications network CN1 is an SAN, the HBA 11 is (forexample) a host bus adapter.

The managing device 20 is a computer device which is used to control theconstruction of the storage system and the like. For example, thisdevice is operated by a user such as a system manager or the like. Themanaging device 20 is respectively connected to the respective storagedevices 100 and 200 via a communications network CN2. As will bedescribed later, the managing device 20 issues instructions relating tothe formation of copying pairs, access attributes and the like to therespective storage devices 100 and 200.

For example, the first storage device 100 is constructed as a disk arraysubsystem. However, the present invention is not limited to this; thefirst storage device 100 can also be constructed as a highlyfunctionalized intelligent type fiber channel switch. As will bedescribed later, the first storage device 100 can provide the memoryresources of the second storage device 200 to the host 10 as its ownlogical volume (logical unit).

The first storage device 100 can be divided into two main parts, i.e., acontroller and a storage part 160. For example, the controller comprisesa plurality of channel adapters (hereafter referred to as “CHAs”) 110, aplurality of disk adapters (hereafter referred to as “DKAs”) 120, acache memory 130, a shared memory 140, and a connection control part150.

Each CHA 110 performs data communications with a host 10. Each CHA 110comprises a communications port 111 for performing communications withthis host 10. The respective CHAs 110 are constructed as microcomputersystems comprising a CPU, memory and the like; these CHAs 110 interpretand execute various types of commands received from the hosts 10.Network addresses used to discriminate the respective CHAs 110 (e.g., IPaddresses or WWN) are assigned to these CHAs 110, and each CHA 110 canbehave separately as an NAS (network attached storage). In cases where aplurality of hosts 10 are present, the respective CHAs 110 separatelyreceive and process requests from the respective hosts 10.

Each DKA 120 exchanges data with a disk drive 161 of the control part160. Like the CHAs 110, each DKA 120 is constructed as a microcomputersystem comprising a CPU, memory and the like. For example, therespective DKAs 120 write data received from the host 10 or read outfrom the second storage device 200 by the CHAs 110 into a specifiedaddress of a specified disk drive 161. Furthermore, each DKA 120 readsout data from a specified address of a specified disk drive 161, andtransmits this data to a host 10 or the second storage device 200. Incases where the input or output of data is performed with the disk drive161, each DKA 120 converts the logical address into a physical address.In cases where the disk drive 161 is controlled in accordance with anRAID, each DKA 120 accesses data according to the RAID construction. Forexample, each DKA 120 writes the same data into different disk drivegroups (RAID groups), or performs parity calculations and writes thedata and parity into the disk drive groups.

The cache memory 130 stores data received from the host 10 or secondstorage device 200, or stores data read out from the disk drive 161. Aswill be described later, a virtual intermediate storage device isconstructed utilizing the storage space of the cache memory 130.

Various types of control information used in the operation of the firststorage device 100 are stored in the shared memory (also called acontrol memory in some cases) 140. Furthermore, in addition to thesetting of a work region, various types of tables such as the mappingtable and the like described later are also stored in the shared memory140.

Moreover, one or a plurality of disk drives 161 can also be used ascache disks. Furthermore, the cache memory 130 and shared memory 140 canbe constructed as respectively separate memories, or some of the storageregions of the same memory can be used as cache regions, and otherstorage regions can be used as control regions.

The connection control part 150 connects the respective CHAs 110, therespective DKAs 120, the cache memory 130 and the shared memory 140 toeach other. For example, the connection control part 150 can beconstructed as a high-sped bus such as an ultra-high-speed cross-barswitch that performs data transfer by means of a high-speed switchingoperation.

The storage part 160 comprises a plurality of disk drives 161. Forexample, various types of storage disks such as hard disk drives,flexible disk drives, magnetic disk drives, semiconductor memory drives,optical disk drives or the like, or the equivalents of such drives, canbe used as the disk drives 161. Furthermore, for example, differenttypes of disks may be mixed inside the storage part 160, as in FC (fiberchannel) disks, SATA (serial AT attachment) disks or the like.

Furthermore, as will be described later, a virtual internal volume 191based on a disk drive 220 of the second storage device 200 can be formedin the first storage device 100. This virtual internal volume 191 can beprovided to the host 10A in the same manner as the internal volume 190based on the disk drive 161.

For example, the second storage device 200 comprises a controller 210and a plurality of disk drives 220. The second storage device 200 iscommunicably connected with the host 10B, managing device 20 and firststorage device 100, respectively via the communications port 211.

The second storage device 200 and host 10B are connected via thecommunications network CN1. The second storage device 200 and managingdevice 20 are connected via the communications network CN2. The secondstorage device 200 and first storage device 100 are connected via thecommunications network CN3. For example, the communications networks CN2and CN3 can be constructed from SAN, LAN or the like.

The second storage device 200 may have substantially the sameconstruction as the first storage device, or may have a simplerconstruction than the first storage device 100. The disk drives 220 ofthe second storage device 200 may be handled as internal storage devicesof the first storage device 100.

Reference is now made to FIG. 3. FIG. 3 is a structural explanatorydiagram focusing on the functional construction of the presentembodiment. The controller 101 of the first storage device 100 isconstructed from the CHAs 110, respective DKAs 120, cache memory 130,shared memory 140 and the like.

As internal functions, this controller 101 comprises (for example) afirst full copying control part 102, a second full copying control part103, a first differential copying control part 104, and a seconddifferential copying control part 105. Furthermore, various types oftables such as a mapping table T1, differential bit map T4 and the likeare stored inside the shared memory 140 of the controller 101.

The first full copying control part 102 is a function that copies all ofthe storage contents of the virtual internal volume 191 into theinternal volume 190. Conversely, the second full copying control part103 is a function that copies all of the storage contents of theinternal volume 190 into the virtual internal volume 191. Furthermore,the first differential copying control part 104 is a control that copiesthe differential data 192 of the internal volume 190 into the virtualinternal volume 191. The second differential copying control part 105 isa function that copies the differential data 261 of the virtual internalvolume 191 into the internal volume 190.

The internal volume 190 and virtual internal volume 191 are respectivelydisposed in the first storage device 100. The internal volume 190 is avolume that is set on the basis of the storage regions of the respectivedisk drives 161 that are directly governed by the first storage device100. The virtual internal volume 191 is a volume that is set on thebasis of the storage regions of the respective disk drives 220 of thesecond storage device 200.

The controller 210 of the second storage device 200 stores thedifferential bit map T4 (2) in a memory (not shown in the figures). Thisdifferential bit map T4 (2) is used to control the differential data 261that is generated for the external volume 260 of the second storagedevice 200. Here, as was described above, the external volume 260 isbased on the storage region of the disk drive 220, and is an internalvolume with respect to the second storage device 200. However, sincethis volume 260 is mapped into the virtual internal volume 191 andincorporated into the first storage device 100, this volume is calledthe external volume 260 in the present embodiment.

The managing device 20 comprises an access attribute setting part 21.This access attribute setting part 21 is used to set access attributesfor the internal volume 190 or external volume 260. The setting ofaccess attributes can be performed manually by the user, or can beperformed automatically on the basis of some type of trigger signal. Thetypes of access attributes will be further described later.

Reference is now made to FIG. 4. FIG. 4 is a structural explanatorydiagram which focuses on the storage structure of the first storagedevice 100 and second storage device 200. The construction of the firststorage device 100 will be described first.

For example, the storage structure of the first storage device 100 canbe roughly divided into a physical storage hierarchy and a logicalstorage hierarchy. The physical storage hierarchy is constructed by aPDEV (physical device) 161 which is a physical disk. The PDEVcorresponds to a disk drive.

The logical storage hierarchy can be constructed from a plurality (e.g.,two types) of hierarchies. One logical hierarchy can be constructed fromVDEVs (virtual devices) 162 and virtual VDEVs (hereafter called“V-VOLs”) 163 which can be handled as VDEVs 162. The other logicalhierarchy can be constructed from LDEVs (logical devices) 164.

For example, the VDEVs 162 can be constructed by forming a specifiednumber of PDEVs 161 into a group, e.g., four units as one set (3D+1P),eight units as one set (7D+1P) or the like. One RAID storage region isformed by the aggregate of the storage regions provided by therespective PDEVs 161 belonging to a group. This RAID storage regionconstitutes a VDEV 162.

In contrast to the construction of a VDEV 162 in a physical storageregion, the V-VOL 163 is a virtual intermediate storage device whichrequires no physical storage region. The V-VOL 163 is not directlyassociated with a physical storage region, but is a receiver for themapping of LUs (logical units) of the second storage device 200.

One or more LDEVs 164 can be respectively disposed in the VDEV 162 orV-VOL 163. For example, the LDEVs 164 can be constructed by splitting aVDEV 162 into specified lengths. In cases where the host 10 [involved]is an open type host, the host 10 can recognize the LDEV 164 as a singlephysical disk by mapping the LDEV 164 in the LU 165. The open type hostcan access a desired LDEV 164 by designating the LUN (logical unitnumber) or logical block address. Furthermore, in the case of a mainframe type host, the LDEV 164 can be directly accessed.

The LU 165 is a device that can be recognized as an SCSI logical unit.The respective LUs 165 are connected to the host 10 via a target port11A. One or more LDEVs 164 can be respectively associated with each LU165. It is also possible to expand the LU size virtually by associatinga plurality of LDEVs 164 with one LU 165.

The CMD (command device) 166 is a special LU that is used to transfercommands and status [information] between the I/O control programoperating in the host 10 and the controller 101 (CHAs 110, DKAs 210) ofthe storage device 100. Commands from the host 10 are written into theCMD 166. The controller 101 of the storage device 100 executesprocessing corresponding to the commands that are written into the CMD166, and writes the results of this execution into the CMD 166 as status[information]. The host 10 reads out and confirms the status[information] that is written into the CMD 166, and then writes theprocessing contents that are to be executed next into the CMD 166. Thus,the host 10 can issue various types of instructions to the storagedevice 100 via the CMD 166.

Furthermore, the commands received from the host 10 can also beprocessed without being stored in the CMD 166. Moreover, the CMD canalso be formed as a virtual device without defining the actual device(LU), and can be constructed so as to receive and process commands fromthe host 10. Specifically, for example, the CHAs 110 write the commandsreceived from the host 10 into the shared memory 140, and the CHAs 110or DKAs 120 process the commands stored in this shared memory 140. Theprocessing results are written into the shared memory 140, and aretransmitted to the host 10 from the CHAs 110.

The second storage device 200 is connected to the external initiatorport (external port) 111B of the first storage device 100 via thecommunications network CN3.

The second storage device 200 comprises a plurality of PDEVs 220, VDEVs230 that are set in storage regions provided by the PDEVs 220, and oneor more LDEVs 240 that can be set in the VDEVs 230. Each LDEV 240 isrespectively associated with an LU 250.

Furthermore, in the present embodiment, the LUs 250 (i.e., the LDEVs240) of the second storage device 200 are mapped into a V-VOL 163 whichis a virtual intermediate storage device so that these LUs 250 can alsobe used from the first storage device 100.

For example, in FIG. 4, the “LDEV 1” and “LDEV 2” of the second storagedevice 200 are respectively mapped into the “V-VOL 1” and “V-VOL 2” ofthe first storage device 100 via the “LU 1” and “LU 2” of the secondstorage device 200. Furthermore, the “V-VOL 1” and “V-VOL 2” arerespectively mapped into the “LDEV 3” and “LDEV 4”, and can be utilizedvia the “LU 3” and “LU 4”.

Furthermore, the VDEVs 162 and V-VOLs 163 can use an RAID construction.Specifically, one disk drive 161 can be divided into a plurality ofVDEVs 162 and V-VOLs 163 (slicing), or one VDEV 162 or V-VOL 163 can beformed from a plurality of disk drives 161 (striping).

Furthermore, the “LDEV 1” or “LDEV 2” of the first storage device 100corresponds to internal volume 190 in FIG. 3. The “LDEV 3” or “LDEV 4”of the of the first storage device 100 corresponds to the virtualinternal volume 191. The “LDEV 1” or “LDEV 2” of the second storagedevice 200 corresponds to the external volume 260 in FIG. 3.

Reference is now made to FIG. 5. FIG. 5 shows one example of the mappingtable T1 that is used to map the external volume 260 into the virtualinternal volume 191.

For example, the mapping table T1 can be constructed by respectivelyestablishing a correspondence between the VDEV numbers used todiscriminate the VDEVs 162 and V-VOLs 163 and information relating tothe external disk drives 220.

For example, the external device information can be constructed so thatthis information includes device discriminating information, storagecapacities of the disk drives 220, information indicating the type ofdevice (tape type devices, disk type devices or the like) and pathinformation indicating the paths to the disk drives 220. This pathinformation can be constructed so as to include discriminatinginformation (WWN) specific to the respective communications ports 211,and LUN numbers used to discriminate the LUs 250.

Furthermore, the values of the device discriminating information, WWNand the like shown in FIG. 5 are values used for convenience ofdescription, and do not have any particular meaning. Moreover, threeitems of path information are associated with the VDEV 101 having theVDEV number of “3” shown on the lower side in FIG. 5. Specifically, theexternal disk drive 220 that is mapped into this VDEV (#3) has analternate path structure which has three paths inside, and thisalternate path structure is deliberately mapped into the VDEV (#3). Itis seen that the same storage region can be accessed via any of thesethree paths; accordingly, even in cases where one or two of the pathsare obstructed, the desired data can be accessed via the remainingnormal path or paths.

By using a mapping table T1 such as that shown in FIG. 5, it is possibleto map one or a plurality of external disk drives 220 into the V-VOL 163inside the first storage device 100.

Furthermore, as is also true of the other tables shown below, the volumenumbers and the like shown in the table are examples used to illustratethe table construction; these values do not particularly correspond tothe other constructions shown in FIG. 4 or the like.

The conditions of data conversion using these various types of tableswill be described with reference to FIG. 6. As is shown in the upperpart of FIG. 6, the host 10 transmits data to a specified communicationsport 111 with the LUN number (LUN #) and logical block address (LBA)being designated.

The first storage device 100 converts the data that is input for LDEVuse (LUN #+LBA) into data for VDEV use on the basis of the firstconversion table T2 shown in FIG. 6 (a). The first conversion table T2is an LUN-LDEV-VDEV conversion table that is used to convert data thatdesignates LUNs in the first storage device 100 into VDEV data.

For example, this first conversion table T2 is constructed byassociating LUN numbers (LUN #), LDEV numbers (LDEV #) and maximum slotnumbers that correspond to correspond to these LUNs, VDEV (includingV-VOL) numbers (VDEV #) and maximum slot numbers that correspond tothese LDEVs and the like. As a result of reference being made to thisfirst conversion table T2, the data from the host 10 (LUN #+LBA) isconverted into VDEV data (VDEV #+SLOT #+SUBLOCK #).

Next, the first storage device 100 refers to the second conversion tableT3 shown in FIG. 6 (b), and converts the VDEV data into data that isused for transmission and storage for the LUNs of the second storagedevice 200.

In the second conversion table T3, for example, VDEV numbers (VDEV #),the numbers of initiator ports used to transmit data from the VDEVs tothe second storage device 200, WWN used to specify the communicationsports that are the data transfer destinations and LUNs that can beaccessed via these communications ports are associated.

On the basis of this second conversion table T3, the first storagedevice 100 converts the address information of the data that is to bestored into the format of initiator port number #+WWN+LUN #+LBA. Thedata whose address information has thus been altered reaches thedesignated communications port 211 from the designated initiator portvia the communications network CN3. Then, the data is stored in aspecified place in the LDEV.

FIG. 6 (c) shows another second conversion table T3 a. This conversiontable T3 a is used in cases where a stripe or RAID is applied to VDEVs(i.e., V-VOLs) originating in an external disk drive 220. The conversiontable T3 a is constructed by associating VDEV numbers (VDEV #), stripesizes, RAID levels, numbers used to discriminate the second storagedevice 200 (SS # (storage system numbers)), initiator port numbers andWWN and LUN numbers of the communications ports 211.

In the example shown in FIG. 6 (c), one VDEV (V-VOL) constructs an RAID1 utilizing a total of four external storage control devices specifiedby SS # (1, 4, 6, 7). Furthermore, the three LUNs (#0, #0 and #4)assigned to SS # 1 are set in the same device (LDEV #). Moreover, thevolumes of LUN #0 comprise an alternate path structure which has twoaccess data paths. Thus, logical volumes (LDEVs) belonging respectivelyto a plurality of external storage device can be respectively mapped ina single V-VOL inside the first storage device 100, and can be utilizedas a virtual internal volume 191. As a result, in the presentembodiment, by constructing a VDEV (V-VOL) from a plurality of logicalvolumes (LDEV) present on the outside, it is possible to add functionssuch as striping, RAID or the like, and to provide these functions tothe host 10.

FIG. 7 respectively shows a differential bit map T4 and savingdestination address control table T5 that are used to control thedifferential data 192. Furthermore, in the second storage device 200 aswell, differential data 261 is controlled by the same method as in FIG.7.

For example, the differential bit map T4 can be constructed byassociating updating flag information indicating the status as towhether or not updating has been performed with each logical track ofthe disk drives 161 constituting the internal volume 190. One logicaltrack corresponds to three cache segments, and has size of 48 kB or 64kB.

For example, the saving destination address control table can beconstructed by associating with each logical track unit a savingdestination address which indicates where the data stored on this trackis saved. Furthermore, in the tables T4 and T5, the control units arenot limited to track units. For example, other control units such asslot units, LBA units or the like can also be used.

FIG. 8 is an explanatory diagram which shows one example of the copyingpair control table T6. For example, the copying pair control table T6can be constructed by associating information that specifies the copyingsource LU, information that specifies the copying destination LU and thecurrent pair status. Examples of copying pair status include “pair form(paircreate)”, “pair split (pairsplit)”, “resynchronize (resync)” andthe like.

Here, the “pair form” status is a state in which initial copying (fullcopying) from the copying source volume to the copying destinationvolume has been performed, so that a copying pair is formed. The “pairsplit” status is a state in which the copying source volume and copyingdestination volume are separated after the copying pair has beenforcibly synchronized. The “resynchronize” status is a state in whichthe storage contents of the copying source volume and copyingdestination volume are resynchronized and a copying pair is formed afterthe two volumes have been separated.

FIG. 9 is an explanatory diagram showing one example of the accessattribute control table T7. The term “access attribute” refers toinformation that controls the possibility of access to the volumes orthe like. For example, the access attribute control table T7 can beconstructed by associating access attributes with each LU number (LUN).

Examples of access attributes include “read/write possible”, “writeprohibited (read only)”, “read/write impossible”, “empty capacity 0”,“copying destination setting impossible” and “hidden”.

Here, “read/write possible” indicates a state in which reading andwriting from and into the volume in question are possible. “Writeprohibited” indicates a state in which writing into the volume inquestion is prohibited, so that only read-out is permitted. “Read/writeimpossible” indicates a state in which writing and reading into and fromthe volume are prohibited. “Empty capacity 0” indicates a state in whicha response of remaining capacity 0 (full) is given in reply to inquiriesregarding the remaining capacity of the volume even in cases where thereis actually some remaining capacity. “Copying destination settingimpossible” indicates a state in which the volume in question cannot beset as the copying destination volume (secondary volume). “Hidden”indicates a state in which the volume in question cannot be recognizedfrom the initiator. Furthermore, as was already mentioned above, theLUNs in the table are numbers used for purposes of description; thesenumbers in themselves have no particular significance.

Next, the operation of the present embodiment will be described. First,FIG. 10 is a flow chart illustrating the mapping method that is used inorder to utilize the external volume 260 of the second storage device200 as a virtual internal volume 191 of the first storage device 100.This processing is performed between the first storage device 100 andsecond storage device 200 when the mapping of the volumes is performed.

The first storage device 100 logs into the second storage device 200 viathe initiator port of the CHA 110 (S1). Logging in is completed by thesecond storage device 200 sending back a response to the logging in ofthe first storage device 100 (S2). Next, for example, the first storagedevice 100 transmits an inquiry command determined by the SCSI (smallcomputer system interface) to the second storage device 200, andrequests a response regarding details of the disk drives 220 belongingto the second storage device 200 (S3).

The inquiry command is used to clarify the type and construction of theinquiry destination device; this makes it possible to pass through thehierarchy of the inquiry destination device and grasp the physicalstructure of this inquiry destination device. By using such an inquirycommand, for example, the first storage device 100 can acquireinformation such as the device name, device type, manufacturing serialnumber (product ID), LDEV number, various types of version information,vendor ID and the like from the second storage device 200 (S4). Thesecond storage device 200 responds by transmitting the information forwhich an inquiry was made to the first storage device 100 (S5).

The first storage device 100 registers the information acquired from thesecond storage device 200 in the mapping table T1 (S6). The firststorage device 100 reads out the storage capacity of the disk drive 220from the second storage device 200 (S7). In response to an inquiry fromthe first storage device 100, the second storage device 200 sends backthe storage capacity of the disk drive 220 (S8), and returns a response(S9). The first storage device 100 registers the storage capacity of thedisk drive 220 in a specified place in the mapping table T1 (S10).

The mapping table T1 can be constructed by performing the aboveprocessing. In cases where the input and output of data are performedwith the external disk drive 220 (external LUN, i.e., external volume260) mapped into the V-VOL of the first storage device 100, addressconversion and the like are performed with reference to the otherconversion tables T2 and T3 described with reference to FIG. 6.

Next, the input and output of data between the first storage device 100and second storage device 200 will be descried. FIG. 11 is a modeldiagram which shows the processing that is performed when data iswritten.

The host 10 can write data into a logical volume (LDEV) that has accessauthorization. For example, by using procedures such as zoning that setsa virtual SAN subnet in the SAN or LUN masking in which the host 10holds a list of accessible LUNs, it is possible to set the host 10 sothat the host 10 can access only specified LDEVs.

In cases where the LDEV into which the host 10 is to write data isconnected via a VDEV to a disk drive 161 which is in internal storagedevice, data is written by ordinary processing. Specifically, the datafrom the host 10 is temporarily stored in the cache memory 130, and isthen stored in a specified address of a specified disk drive 161 fromthe cache memory 130 via the DKA 120. In this case, the DKA 120 convertsthe logical address into a physical address. Furthermore, in the case ofa raid construction, the same data is stored in a plurality of diskdrives 161 or the like.

On the other hand, in cases where the LDEV into which the host 10 is towrite data is connected to an external disk drive 220 via a V-VOL, theflow is as shown in FIG. 11. FIG. 11 (a) is a flow chart centering onthe storage hierarchy, and FIG. 11 (b) is a flow chart centering on themanner of use of the cache memory 130.

The host 10 indicates an LDEV number that specifies the LDEV that is theobject of writing and a WWN that specifies the communications port thatis used to access this LDEV, and issues a write command (write) (S21).When the first storage device 100 receives a write command from the host10, the first storage device 100 produces a write command fortransmission to the second storage device 200, and transmits thiscommand to the second storage device 200 (S22). The first storage device100 alters the address information and the like contained in the writecommand received from the host 10 so as to match the external volume260, thus producing a new write command.

The host 10 transmits the write data to the to the first storage device100 (S23). The write data received by the first storage device 100 istransferred to the second storage device 200 (S26) from the LDEV via theV-VOL (S24). Here, at the point in time at which the data from the host10 is stored in the cache memory 130, the first storage device 100 sendsback a response (good) indicating the completion of writing to the host10.

At the point in time at which the write data is received from the firststorage device 100 (or the point in time at which writing into the diskdrive 220 is completed), the second storage device 200 transmits awriting completion report to the first storage device 100 (S26).Specifically, the time at which the completion of writing is reported tothe host 10 by the first storage device 100 (S25) and the time at whichthe data is actually stored in the disk drive 220 are different(asynchronous system). Accordingly, the host 10 is released from datawrite processing before the write data is actually stored in the diskdrive 220, so that the host 10 can perform other processing.

Reference will now be made to FIG. 11 (b). Numerous subprograms areinstalled in the cache memory 130. The first storage device 100 convertsthe logical block addresses designated by the host 10 into sub-blockaddresses, and stores data in specified locations in the cache memory130 (S24). In other words, the V-VOLs and VDEVs have a logical presenceinstalled in the storage space of the cache memory 130.

The flow in cases where data is read out from the external volume 260 ofthe second storage device 200 will be described with reference to FIG.12.

First, the host 10 designates a communications port 111 and transmits adata read-out command to the first storage device 100 (S31). When thefirst storage device 100 receives a read command, the first storagedevice 100 produces a read command in order to read out the requesteddata from the second storage device 200.

The first storage device 100 transmits the produced read command to thesecond storage device 200 (S32). In accordance with the read commandreceived from the first storage device 100, the second storage device200 reads out the requested data from the disk drive 220, transmits thisread-out data to the first storage device 100 (S33), and reports thatread-out was normally completed (S35). As is shown in FIG. 12 (b), thefirst storage device 100 stores the data received from the secondstorage device 200 in a specified location in the cache memory 130(S34).

The first storage device 100 reads out the data stored in the cachememory 130, performs address conversion, transmits the data to the host10 via the LUN 103 or the like (S36), and issues a read-out completionreport (S37). In the series of processing performed in these dataread-outs, the conversion operation described with reference to FIG. 6is performed in reverse.

In FIG. 12, the operation is shown as if data is read out from thesecond storage device 200 and stored in the cache memory 130 inaccordance with the request from the host 10. However, the operation isnot limited to this; it would also be possible to store all or part ofthe data stored in the external volume 260 in the cache memory 130beforehand. In this case, in response to a command from the host 10,data can be immediately read out from the cache memory 130 andtransmitted to the host 10.

Next, the method used to synchronize the storage contents between theinternal volume 190 and virtual internal volume 191 (whose substance isthe external volume 260) will be described. FIGS. 13 and 14 show thefull copying mode in which all of the storage contents of the copyingsource volume are copied into the copying destination volume, and FIGS.15 and 16 show the differential copying mode in which only thedifferential data generated in the copying source volume following thecompletion of full copying is coped into the copying destination volume.In the case of both copying modes, data is transferred directly betweenthe first storage device and second storage device; the host 10 does notparticipate.

The managing device 20 instructs the first storage device 100 to executethe first full copying mode (S41). The CHA 110 that receives thisinstruction refers to the mapping table T1 stored in the shared memory140 (S42), and acquires path information for the external volume 260which is the copying destination volume. The CHA 110 issues a readcommand to the second storage device 200 (S43), and requests theread-out of the data that is stored in the external volume 260.

In response to the read command from the first storage device 100, thesecond storage device 200 reads out data from the external volume 260(S44), and transmits this read-out data to the first storage device 100(S45).

When the CHA 110 receives the data from the second storage device 200,the CHA 110 stores this received data in the cache memory 130 (S46).Furthermore, for example, the CHA 110 requests the execution of destageprocessing from the DKA 120 by writing a write command into sharedmemory 140 (S47).

The DKA 120 occasionally refers to the shared memory 140, and when theDKA 120 discovers an unprocessed write command, the DKA 120 reads outthe data stored in the cache memory 130, performs processing such asaddress conversion and the like, and writes this data into a specifieddisk drive 161 (S48).

Thus, all of the storage contents of the external volume 260 which isthe copying source volume can be copied into the internal volume 190which is the copying destination volume, so that the storage contents ofboth volumes are caused to coincide.

FIG. 14 shows the processing of the second full copying mode. The firststorage device 100 instructs the first storage device 100 to execute thesecond full copying mode (S51). The CHA 110 that receives thisinstruction refers to the mapping table T1 stored in the shared memory140 (S52), and acquires path information for the external volume 260which is the copying destination volume. Furthermore, the CHA 110requests that the DKA 120 perform staging (processing that transfers thedata to a cache) of the data stored in the internal volume 190 (S53).

In response to this staging request, the DKA 120 reads out the data ofthe internal volume 190 from the disk drive 161, and stores this data inthe cache memory 130 (S54). Furthermore, the DKA 120 request that theCHA 110 issue a write command (S55).

On the basis of the path information acquired in S52, the CHA 110 issuesa write command to the second storage device 200 (S56). Next, the CHA110 transmits write data to the second storage device 200 (S57).

The second storage device 200 receives the write data from the firststorage device 100 (S58), and stores this data in a specified disk drive220 (S59). Thus, the storage contents of the internal volume 190 whichis the copying source volume can be copied into the external volume 260which is the copying destination volume, so that the storage contents ofboth volumes can be caused to coincide.

FIG. 15 shows the processing of the first differential copying mode.First, prior to the initiation of differential copying, the managingdevice 20 requests the first storage device 100 to split the copyingpair (S61). The CHA 110 that receives the splitting instruction updatesthe copying pair control table T6 stored in the shared memory 140, andalters the status of the copying pair to a split state (S62). As aresult, the pair state of the internal volume 190 and virtual internalvolume 191 (external volume 260) is dissolved.

The host 10A executes updating I/O for the internal volume 190 (S63).The CHA 110 stores the write data received from the host 10A in thecache memory 130 (S64), and sends a response to the host 10A indicatingthat processing of the write command has been completed (S65).

Furthermore, the CHA 110 respectively updates the differential bit mapT4 and the differential data 192 (S66), and requests that the DKA 120execute destage processing (S67) The DKA 120 stores the write datagenerated by the updating I/O in the disk drive 161 (S68).

Prior to the initiation of differential copying, the updating I/O fromthe host 10A is stopped (S69). For example, this stopping of the I/O canbe accomplished manually by the user. Furthermore, the managing device20 alters the access attribute of the internal volume 190 from“read/write possible” to “write prohibited” (S70). Although the issuingof updating I/O by the host 10A is already stopped, further variation ofthe storage contents of the internal volume 190 can be prevented inadvance by altering the access attribute to “write prohibited”.

Then, the managing device 20 instructs the first storage device 100 toexecute first differential copying (S71). The CHA 110 that receives thisinstruction refers to the mapping table T1 (S72), and acquires pathinformation for the external volume 260. Furthermore, the CHA 110 refersto the differential bit map T4 (S73), and requests that the DKA 120perform destaging of the differential data 192 (S74).

The DKA 120 reads out the differential data 192 produced for theinternal volume 190 from the disk drive 161, and stores this data in thecache memory 130 (S75). Then, the DKA 120 requests that the CHA 110issue a write command (S76).

The CHA 110 issues a write command to the second storage device 200(S77), and transmits write data (the differential data 192) to thesecond storage device 200 (S78). The second storage device 200 storesthe received write data in the external volume 260. As a result, thestorage contents of the external volume 260 and internal volume 190coincide. Then, the managing device 20 alters the access attribute ofthe internal volume 190 from “write prohibited” to “read/write possible”(S79).

FIG. 16 shows the processing of the second differential copying mode.Prior to the initiation of differential copying, the managing device 20first instructs the first storage device 100 to split the copying pair(S81). The CHA 110 that receives this instruction updates the copyingpair control table T6, and dissolves the pair state (S82).

Then, when the host 10B accesses the external volume 260 and issuesupdating I/O (S83), the second storage device 200 writes the write datainto the disk drive 220 (S84), and respectively updates the differentialdata 261 and differential bit map T4 (2) (S85).

When differential copying is initiated, the managing device 20 altersthe access attribute of the external volume 260 from “read/writepossible” to “write prohibited” (S86), thus prohibiting updating of theexternal volume 260; then, the managing device 20 instructs the firststorage device 100 to initiate second differential copying (S87).

The CHA 110 that receives the instruction to initiate differentialcopying requests that the second storage device 200 to transfer thedifferential bit map T4 (2) (S88). Since the contacts of thedifferential data 261 generated in the external volume 260 arecontrolled by the second storage device 200, the first storage device100 acquires the differential bit map T4 (2) from the second storagedevice 200 (S89).

Furthermore, in this embodiment, a construction is used in whichcommands and data are directly exchanged between the first storagedevice 100 and second storage device 200. However, the present inventionis not limited to this; for example, it would also be possible toexchange data such as the differential bit map and the like between therespective storage devices 100 and 200 via the managing device 20.

The CHA 110 refers to the mapping table T1 (S90), and acquires pathinformation indicating the path to the external volume 260. Then, theCHA 110 requests the transfer of the differential data 261 by issuing aread command to the second storage device 200 (S91).

In response to the read command from the first storage device 100, thesecond storage device 200 transmits the differential data 261 to thefirst storage device 100 (S92). Then, the CHA 110 that receives thisdifferential data 261 stores the differential data 261 in the cachememory 130 (S93) The CHA 110 requests that the DKA 120 perform destageprocessing of the differential data 261 (S94). Then, the DKA 120 readsout the differential data 261 stored in the cache memory 130, and writesthe data constituting the internal volume 190 into the disk drive 161(S95). As a result, the storage contents of the external volume 260 andinternal volume 190 coincide.

In the present embodiment, as was described in detail above, theexternal volume 260 can be handled as though this volume were a logicalvolume inside the first storage device 100 by mapping the external diskdrive 220 into the V-VOL. Accordingly, even in cases where the secondstorage device 200 is an old type device that cannot be directlyconnected to the host 10, the memory resources of the old type devicecan be reutilized as memory resources of the first storage device 100,and can be provided to the host 10, by interposing a new type firststorage device 100. As a result, the old type storage device 200 can beconnected to a new type storage device 100, and the memory resources canbe effectively utilized.

Furthermore, in cases where the first storage device 100 is ahigh-performance, highly functional new type device, the low performanceof the second storage device can be hidden by the high-performancecomputer resources (cache capacity, CPU processing speed and the like)of the first storage device 100, so that high-performance services canbe provided to the host 10 using a virtual internal volume that utilizesthe disk drive 220. Furthermore, functions such as (for example)striping, expansion, splitting, RAID and the like can be added to anexternal volume 260 constructed in the disk drive 220, and can be used.Accordingly, compared to cases in which an external volume is directlymapped into an LUN, the degree of freedom of utilization is increased sothat convenience of use is improved.

In the present embodiment, in addition to these effects, the storagecontents can be synchronized between the internal volume 190 and virtualinternal volume 191 (external volume 260). Accordingly, a backup of theinternal volume 190 can be formed in the virtual internal volume 191, orconversely, a backup of the virtual internal volume 191 can be formed inthe internal volume 190, so that the convenience is even furtherimproved.

Furthermore, in the present embodiment, since both a full copying modeand a differential copying mode can be performed, efficient copying canbe performed in accordance with the conditions.

Furthermore, in the present embodiment, a construction is used in whichthe storage contents of the copying source volume are fixed by alteringthe access attribute to “write prohibited”. Accordingly, volume copyingcan be executed without particularly altering the processing contents inthe host 10.

2. Second Embodiment

A second embodiment of the present invention will be described withreference to FIG. 17. The following embodiments including thisembodiment correspond to modifications of the abovementioned firstembodiment. In the present embodiment, copying is performed among aplurality of virtual internal volumes inside the first storage device100. Furthermore, in the present embodiment, the first storage device100 does not comprise any internal volumes. FIG. 17 is an explanatorydiagram showing the storage structure of a storage system constituting asecond embodiment of the present invention.

In the present embodiment, the first storage device 100 comprises athird storage device 300 in addition to a second storage device 200.Like the second storage device 200, this third storage device 300 is adevice that is externally connected to the first storage device 100.Like the second storage device 200, the third storage device 300comprises (for example) PDEVs 320, VDEVs 330, LDEVs 349, LUs 350,targets 311 and the like. In regard to the construction of the thirdstorage device 300, the construction of the second storage device 200can be employed; since this construction is not the gist of the presentinvention, details will be omitted. However, the second storage device200 and third storage device 300 need not have the same structure.

The first storage device 100 does not comprise PDEVs 161 which arephysical storage devices, and does not comprise real volumes (internalvolumes). The first storage device 100 comprises only “LDEV 1” and “LDEV2”, which are virtual internal volumes. Accordingly, the first storagedevice 100 need not be a disk array device; for example, this firststorage device 100 may be an intelligent type switch comprises acomputer system.

The first virtual internal volume “LDEV 1” 164 is connected to “LDEV 1”240, which is a real volume of the second storage device 200, via“V-VOL” 163. The second virtual internal volume “LDEV 2” 164 isconnected to “LDEV 1” 340, which is a real volume of the third storagedevice 300, via “V-VOL 2” 163.

Furthermore, in the present embodiment, the system is devised so thatfull copying and differential copying are performed between the firstvirtual internal volume “LDEV 1” and the second virtual internal volume“LDEV 2” inside the first storage device 100.

3. Third Embodiment

A third embodiment will be described with reference to FIG. 18. FIG. 18is an explanatory diagram which shows one example of the control screenused by the storage system. This embodiment can be used in any of therespective embodiments described above.

For example, in cases where copying pairs are set in the storage system,the user logs into the managing device 20, and calls up a control screensuch as that shown in FIG. 18. When the construction of a copying pairor the like is set on this control screen, the managing device 20 sendsinstructions for alteration of the construction to one or both of thestorage devices 100 and 200. Receiving these instructions, therespective storage devices 100 and 200 alter their internalconstruction.

A plurality of different types of control menus M1 through M3 can be seton the control screen. For example, these control menus M1 through M3can be constructed as tab type switching menus. For instance, the menuM1 is a menu that is used to perform various types of LU operations suchas production of volumes or the like. The menu M2 is a menu that is usedto perform communications port operations. The menu M3 is a menu that isused to perform volume copying operations between the storage devicesdescribed in the abovementioned embodiments,

For example, the menu M3 can be constructed so that this menu includes aplurality of screen regions G1 through G5. The screen region G1 is usedto select the storage device (subsystem) that performs the setting ofcopying pairs. The conditions of the set copying pairs are displayed inthe screen region G2. For instance, the copying source volume (P-VOL),copying destination volume (S-VOL), emulation type, capacity, copyingstatus, progression, copying speed and the like can be displayed in thescreen region G2.

For instance, using a pointing device such as a mouse or the like, theuser can select two copying pairs displayed in the screen region G2;furthermore, the user can display the submenu M4 by right clicking [withthe mouse]. The user can designate the synchronization of volumes ordissolution of pairs by means of the submenu M4.

In the screen region G3, either internal volumes inside the firststorage device 100 or external volumes inside the second storage device200 can be exclusively selected as the volumes of the copying pair. Inthe figures, a case is shown in which an internal volume is selected asthe copying source volume. An internal volume or external volume can bedesignated as either the copying source volume or copying destinationvolume.

Preset values can be displayed in the screen region G4. Operation statescan be displayed in the screen region G5. When the setting of thecopying pair has been completed, the user can cause alterations in theconstruction to be reflected by operating an application button B1. Incases where the content of this setting is to be canceled, the useroperates a cancel button B2. The abovementioned screen construction isan example; the present invention is not limited to this construction.

Furthermore, the present invention is not limited to the respectiveembodiments described above. A person skilled in the art can makevarious additions, alterations and the like within the scope of thepresent invention.

1. A storage system which is constructed by communicably connecting afirst storage control device and a second storage control device, andwhich performs data processing in accordance with requests from a higherdevice, wherein said first storage control device comprises: a firstreal volume; a first virtual volume which can form a copying pair withsaid first real volume; a first control part which respectively controlsdata communications between said first real volume and said firstvirtual volume, and said higher device and said second storage controldevice; and a synchronizing part which synchronizes the storage contentsof said first real volume and the storage contents of said first virtualvolume; and said second storage control device comprises: a second realvolume which is associated with said first virtual volume; and a secondcontrol part which respectively controls data communications betweensaid second real volume, and said higher device and said first storagecontrol device.
 2. The storage system according to claim 1, wherein saidfirst storage control device has a first storage device, said secondstorage control device has a second storage device, said first realvolume is connected to said first storage device via an intermediatestorage device, and said first virtual volume is connected to saidsecond storage device via a virtual intermediate storage device that isvirtually constructed.
 3. The storage system according to claim 1,wherein said synchronizing part copies all of the storage contentsstored in said first real volume into said first virtual volume.
 4. Thestorage system according to claim 1, wherein said synchronizing partcopies all of the storage contents stored in said first virtual volumeinto said first real volume.
 5. The storage system according to claim 1,wherein said synchronizing part copies the differential data between thestorage contents in said first real volume and the storage contents insaid first virtual volume into said first virtual volume.
 6. The storagesystem according to claim 1, wherein said synchronizing part copies saiddifferential data into said first virtual volume in cases where writerequests to said first real volume from said higher device are stopped.7. The storage system according to claim 5, further comprising amanaging device which is communicably connected to said first storagecontrol device and said second storage control device, respectively,wherein said synchronizing part copies said differential data into saidfirst virtual volume in cases where the access attribute of “writeprohibited” is set in said first real volume by said managing device,and said managing device sets the access attribute of said first realvolume as “read and write possible” when the copying of saiddifferential data is completed.
 8. The storage system according to claim1, wherein said synchronizing part copies the differential data betweenthe storage contents of said first real volume and the storage contentsof said first virtual volume into said first real volume.
 9. The storagesystem according to claim 8, wherein said synchronizing part acquiresdifferential control information relating to said differential data fromsaid second storage control device, reads out said differential datafrom said second storage control device on the basis of thisdifferential control information, and copies this differential data intosaid first real volume.
 10. The storage system according to claim 8,wherein said synchronizing part copies said differential data into saidfirst real volume in cases where write requests to said second realvolume from said higher device are stopped.
 11. The storage systemaccording to claim 8, further comprising a managing device which iscommunicably connected to said first storage control device and saidsecond storage control device, respectively, wherein said synchronizingpart copies said differential data into said first real volume in caseswhere the access attribute of “write prohibited” is set in said secondreal volume by said managing device, and said managing device sets theaccess attribute of said second real volume as “read and write possible”when the copying of said differential data is completed.
 12. A storagecontrol device which is communicably connected with a second storagecontrol device and a higher device, this device comprising: a first realvolume; a first virtual volume which can form a copying pair with saidfirst real volume; a first control part which respectively controls datacommunications between said first real volume and said first virtualvolume, and said higher device and said second storage control device;and a synchronizing part which synchronizes the storage contents of saidfirst real volume and the storage contents of said first virtual volume;wherein said first virtual volume is associated with a second realvolume of said second storage control device.
 13. The storage controldevice according to claim 12, wherein said first storage control devicehas a first storage device, said second storage control device has asecond storage device, said first real volume is connected to said firststorage device via an intermediate storage device, and said firstvirtual volume is connected to said second storage device via a virtualintermediate storage device that is virtually constructed.
 14. Thestorage control device according to claim 12, wherein said synchronizingpart copies all of the storage contents stored in said first real volumein said first virtual volume.
 15. The storage control device accordingto claim 12, wherein said synchronizing part copies all of the storagecontents stored in said first virtual volume into said first realvolume.
 16. The storage control device according to claim 12, whereinsaid synchronizing part copies the differential data between the storagecontents of said first real volume and the storage contents of saidfirst virtual volume into said first virtual volume.
 17. The storagecontrol device according to claim 12, wherein said synchronizing partcopies said differential data into said first virtual volume in caseswhere write requests to said first real volume from said higher deviceare stopped.
 18. A storage system comprising a higher device which iscommunicably connected to a first storage control device and a secondstorage control device, and which respectively issues access requests tosaid first storage control device and said second storage controldevice, and a managing device which can communicate with said firststorage control device and said second storage control device, whereinsaid first storage control device comprises: a first storage devicewhich stores data; an intermediate storage device which is disposed in astorage region of this first storage device; a first real volume whichis disposed in a storage region of this intermediate storage device; avirtual intermediate storage device which is disposed in a storageregion of a second storage device of said second storage control device;a first virtual volume which is disposed in a storage region of thisvirtual intermediate storage device; a higher communications controlpart which respectively performs data communications between said higherdevice, and said second storage control device and said managing device;a lower communications control part which performs data communicationswith said first storage device; a memory part which is shared by saidhigher communications control part and said lower communications controlpart; and a mapping table which is stored in said memory part, and whichis used to map said second storage device in said virtual intermediatestorage device; wherein said higher communications control part refersto said mapping table and reads out all of the data from said secondreal volume, and said lower communications control part stores all ofthis read-out data in said first storage device, in cases where thefirst full copying mode that copies all of the storage contents storedin said first virtual volume into said first real volume is designatedby said managing device, and said lower communications control partreads out all of the data of said first real volume from said firststorage device, and said higher communications control part refers tosaid mapping table and writes this read-out data into said second realvolume, in cases where the second full copying mode that copies all ofthe storage contents stored in said first real volume into said firstvirtual volume is designated by said managing device.
 19. The storagesystem according to claim 18, wherein said first storage control partand said second storage control part respectively hold differentialcontrol information that controls the differential data between thestorage contents of said first real volume and the storage contents ofsaid first virtual volume, said lower communications control part readsout said differential data from said first storage device, and saidhigher communications control part refers to said mapping table andwrites this read-out differential data into said second real volume, incases where the first differential copying mode that copies saiddifferential data into said first virtual volume is designated by saidmanaging device, and said higher communications control part reads outsaid differential control information controlled by said second storagecontrol device, refers to this read-out differential control informationand said mapping table, and reads out said differential data from saidsecond real volume, and said lower communications control part storesthis read-out differential data in said first storage device, in caseswhere the second differential copying mode that copies said differentialdata into said first real volume is designated by said managing device.20. The storage system according to claim 19, wherein said managingdevice sets the access attribute of said first real volume as “writeprohibited” prior to the start of said first differential copying incases where the execution of said first differential copying mode isdesignated, and sets the access attribute of said first real volume as“read/write possible” following the completion of said firstdifferential copying, and said managing device sets the access attributeof said second real volume as “write prohibited” prior to the start ofsaid second differential copying in cases where the execution of saidsecond differential copying mode is designated, and sets the accessattribute of said second real volume as “read/write possible” followingthe completion of said second differential copying.